package com.twoGroup.boot.mapper;


import com.twoGroup.boot.pojo.GoodsAndShopAndGoodsTypeAndGoodsBrand;
import com.twoGroup.boot.pojo.GoodsBrand;
import com.twoGroup.boot.pojo.GoodsType;
import com.twoGroup.boot.pojo.Shop;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Mapper
public interface CommonMapper {


    /**
     * 搜索店铺
     *
     * @param shopName 传入参数时  String a = "%"+shopName +"%";
     * @return list集合
     */
    List<Shop> queryShop(@Param("shopName") String shopName, @Param(value = "start") int start, @Param("pageSize") int pageSize);

    //该店铺的总记录数
    Integer shopsAllCount(@Param("shopName") String shopName);

    /**
     * 搜索商品
     *
     * @param goodsName 传入参数时 String a = "%"+goodsName +"%";
     * @return list集合
     */
    List<GoodsAndShopAndGoodsTypeAndGoodsBrand> queryGoods(@Param("goodsName") String goodsName, @Param("start") int start, @Param("pageSize") int pageSize);

    //该商品的总记录数
    Integer goodsAllCount(@Param("goodsName") String goodsName);

    //等等普通功能

    List<Map<String,Object>> queryForGoodsByBrand(int goodsBrandId);


    List<GoodsBrand> queryForAllGoodsBrand();

    List<GoodsType> queryForAllType();

    List<Map<String,Object>> queryForAllGoodsByType(int typeId);

    List<Map<String,Object>> queryForAllGoodsByPage(@Param("pageStart") Integer pageStart, @Param("pageSize") Integer pageSize);

    int queryForAllCount();
}
